// pages/home/sortTask.js
const httpUtils = require('../../utils/httpUtils')
const ui = require('../../utils/ui')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cellList: [],
    page: 1,
    option: [],
    value: 'auto',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.requestList();
    this.requestConfig();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      page: 1
    });
    this.requestList();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.setData({
      page: this.data.page + 1
    });
    this.requestList();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  //请求列表
requestList() {
  let obj = {
    method: 'GET',
    url: '/task',
    showLoading: true,
    data: {
      page: this.data.page,
      size: 20,
      sortValue: this.data.value
    }
  }
  httpUtils.request(obj).then(res => {
    if (this.data.page == 1) {
      this.setData({
        cellList: []
      });
    }
    const {
      cellList = []
    } = this.data;
    res.data.taskListDetails.forEach(function (item, index) {
      cellList.push(item);
    });
    this.setData({
      cellList
    });
    
  }).catch(err => {
    console.log(err)
  });
},
  //任务详情
  actionTaskDetail(event) {
    if (this.userLoginStatus()) {
      wx.navigateTo({
        url: '/pages/task/taskDetail?taskNo=' + event.currentTarget.dataset.taskno,
      })
    }
  },
  //判断用户是否登录,未登录弹出登录框
  userLoginStatus() {
    if (wx.getStorageSync('USERDATA')) {
      return true;
    } else {
      wx.showModal({
        title: '提示',
        content: '需要登录后体验其他功能',
        complete: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/login/login',
            })
          }
        }
      });
      return false;
    }
  },
  //点击分类
  sortChange(event) {
    this.setData({
      value: event.detail
    })
    this.onPullDownRefresh();
  },
  //获取配置信息
  requestConfig() {
    let obj = {
      method: 'GET',
      url: '/task/configuration',
      data: {}
    }
    httpUtils.request(obj).then(res => {
      var sortMap = [];
      res.data.sortValueOptions.forEach(element => {
        sortMap.push({
          text: element.optionDisplay,
          value: element.optionValue
        })
      });
      this.setData({
        option: sortMap,
        value: sortMap[0].optionValue,
      })
    }).catch(err => {
      console.log(err)
    });
  }
})